<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>数据类型</title>
        <script type="text/javascript">
            let nickname = '小姜' ;
            // 仅定义变量但未赋值
            let variable ;
            // 使用 typeof 运算符可以获得 原始值 的数据类型(原始类型)
            console.log( 'value: ' , variable , ' , type: ' , typeof variable );

            variable = false ;
            console.log( 'value: ' , variable , ' , type: ' , typeof variable );

            variable = 0xFAFAFA ;
            console.log( 'value: ' , variable , ' , type: ' , typeof variable );

            // 这里使用了 ES2015 (ES6) 提供的 字符串模板字面量
            // 在 模板字面量中可以使用 ${ } 形式引用变量
            variable = `欢迎${nickname}` ;
            console.log( 'value: ' , variable , ' , type: ' , typeof variable );

            // 在 整数末尾添加后缀 n 即可表示 bigint 字面量
            // variable = 9527n ;
            variable = BigInt( 9527 );
            console.log( 'value: ' , variable , ' , type: ' , typeof variable );

            // 通过调用 Symbol 函数可以获得 symbol 类型的数值
            variable = Symbol('1001');
            console.log( 'value: ' , variable , ' , type: ' , typeof variable );

            // null 类型只有一个字面量值即 null
            // 另外必须记住 typeof null 返回的是 object 而不是 null
            variable = null ;
            console.log( 'value: ' , variable , ' , type: ' , typeof variable );

            // undefined 类型只有一个字面量值即 undefined
            variable = undefined ;
            console.log( 'value: ' , variable , ' , type: ' , typeof variable );

            // 通过Object构造函数创建一个实例
            variable = new Object();
            // 动态为新创建的Object实例添加属性
            variable.name = '张三丰' ;
            variable.gender = '靓仔' ;
            console.log( 'value: ' , variable , ' , type: ' , typeof variable );

        </script>
    </head>
    <body>
    </body>
</html>